package com.ljtxxhwj.myblob.mapper;

import com.ljtxxhwj.myblob.entity.Comment;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface CommentMapper {
    // 根据文章ID查询所有评论
    List<Comment> selectCommentsByArticleId(Integer articleId);

    // 插入一个新的评论
    void insertComment(Comment comment);

    // 根据评论ID查询评论
    Comment selectCommentById(Integer commentId);

    // 更新评论内容
    void updateCommentContent(Integer commentId, String newContent);

    // 删除评论
    void deleteCommentById(Integer commentId);

    // 查询所有评论
    List<Comment> selectAllComments();
    // 根据评论ID查询直接回复该评论的子评论列表
    List<Comment> selectRepliesByCommentId(Integer commentId);

    List<Comment> selectCommentOnMe(@Param("userId") int userId);

    // 辅助方法，用于递归获取所有层级的子评论
    // 这个方法实际上不会在Mapper接口中定义，而是在Service层或Controller层实现
}